Many data networks utilize a shared communication channel for communication between nodes of the network. An Ethernet network is one example of a local area network (LAN) in which the nodes connected to the LAN all share a common communication channel. In the case of an Ethernet LAN, the shared communication channel is a physical wire connecting the nodes. A wireless LAN is another example of a LAN in which the nodes within the serving area of a base station all share a common communication channel. In the case of a wireless LAN, the shared communication channel is the air interface.
In shared channel communication networks such as Ethernet and wireless LAN, the communication channel may only be used by one node at a time. As such, all nodes within the network compete for access to the shared channel. The management of access to the channel is accomplished using a media access control (MAC) protocol. In an Ethernet network, the access control is defined by the IEEE 802.3 standard which is well known in the art of data networking. In one type of wireless LAN, the access control is defined by the IEEE 802.11 standard which is also well known in the art of data networking. It is important for an understanding of the present invention to point out that the MAC protocols are implemented within network nodes at a MAC layer, which is a software application layer within the node's network protocol stack. As is well known in the art of data networking and computer science, a network protocol stack defines multiple software layers within a nodes software architecture. These software layers control various data networking operations. For example, the lowest layer is generally the physical layer, which defines the operation at the most basic physical data transport layer. The MAC layer is above the physical layer and implements the MAC protocol. Above the MAC layer are various other layers, including the link layer which maintains a reliable link between two nodes and the application layer which implements a particular application (e.g., email, internet access) being executed by the node.
There are generally two types of nodes connected to a shared communication channel network as illustrated in FIG. 1. FIG. 1 shows a shared communication channel 102 which is shared by nodes 104, 106, 108, 110. Nodes 106, 108, 110 are hosts. Hosts are nodes which share the communication network but are not directly connected to an external data network 120. The hosts generally communicate with the external network 120 via a gateway node 104 which is connected to the shared communication network as well as to one or more external networks. The gateway acts as a conduit for data packets between the hosts and the external network(s). Generally, the host nodes are associated with end users while a gateway is generally a network node used to relay end user data packets to and from external networks.
MAC protocols are generally designed to provide all nodes (including both hosts and gateways) on the network with an equal share of the communication channel. However, as will be herein described, this type of sharing at the MAC layer results in an un-fair share of the communication channel. Since the gateway serves multiple hosts on the LAN concurrently, the gateway's access to the shared channel should increase with the number of hosts it serves. However, since the MAC protocols do not distinguish between the gateway and the hosts, some nodes may get an unfair share of the communication channel. This unfairness is illustrated in conjunction with FIG. 1. Consider the data flows shown in FIG. 1 in which host 106 is receiving data from the external network via data flow 112, host 108 is receiving data from the external network via data flow 114, and host 110 is sending data to the external network via data flow 116. Each of the data flows 112, 114, 116 are being relayed to/from the external network 120 via gateway 104. Ideally, a fair sharing of the shared communication channel 102 would result in each of hosts 106, 108 and 110, and associated respective flows 112, 114, 116 obtaining an equal ⅓ share of the communication channel. However, in the scenario being described, only gateway 104 and host 110 compete to transmit data via the communication channel. Hosts 106 and 108 are not competing for the communication channel because they are only receiving data. Thus, since under the MAC protocols there is no distinction between gateways and hosts, gateway 104 and host 110 compete and each get a ½ share of the communication channel. As is readily apparent, this results in host 106 and 108 each receiving ¼ of the communication channel capacity, while host 110 receives ½ of the communication channel capacity.
In a typical LAN, there are more receiving hosts than sending hosts. As would be apparent from the description above, this results in an even higher share for the few senders and a lower share for the many receivers. The unfairness problem described above may be generalized as follows. First, we identify a data flow as an ordered pair of nodes (either host or gateway) sharing the shared communication channel. Next, we assume that s hosts are sending data and that the gateway is transmitting unicast data to r different host receivers. The fair share of each data flow would be
      1          s      +      r        .However, as described above, the MAC protocols dictate that the gateway compete equally aggressively as the s senders. Thus, the s senders receive
  1      s    +    1  th of the channel (assuming that s≧1 and r≧1), whereas the r host receivers each receive only
  1      r    ⁡          (              s        +        1            )      th of the channel. The ratio between a sender's share of the channel and the fair share is
            s      +      r              s      +      1        .Therefore, for a constant number of users in a network (i.e., a constant s+r), the ratio is worse for a lower number of senders.
Another scenario in which an unfairness problem arises is in a wireless LAN in which certain nodes may be out of range of each other. This scenario is illustrated in FIG. 2 in which host A 202 is within transmission range of the wireless gateway 204 (e.g., base station) and host node B 206 is also within transmission range of the gateway 204. However, host A 202 and host B 206 are out of transmission range of each other (as indicated by the dotted lines in the figure). There are two data flows, data flow 1 from host A 202 to gateway 204 and data flow 2 from gateway 204 to host B 206. We assume that both flows are backlogged in that they always have data available to send over the shared communication channel. In accordance with the wireless MAC protocol, only one flow may send a data packet at a time via the air interface. Ideally, it would be expected that data flow 1 and data flow 2 would equally share then communication channel. However, unfairness in this scenario occurs as a result of the fact that hosts cannot distinguish between packets in error and packets that are received with a very low power. Here, host A 202 is far enough from host B 206 such that the two hosts cannot effectively communicate with each other, but they are close enough such that the transmission from one node will be received (albeit with very low power) at the other node. Thus, for example, clear to send (CTS) and acknowledgment (ACK) messages sent from host B 206 to gateway 204 will be received with very low power at host A 202. Since host A 202 will be unable to determine the contents of these transmissions, host A 202 will handle receipt of these transmissions as if an error occurred. Such an error condition requires, in accordance with the MAC protocol, host A 202 to defer any transmission for an extended inter-frame spacing (EIFS) period. Thus, host A 202 will defer after the successful transmission of a flow 2 data packet. This results in host A contending less aggressively for the shared communication channel, resulting in reduced throughput for flow 1 and an unfair sharing of the communication channel.
While there have been proposals to solve the unfairness problems in shared access networks, these solutions have generally required changes to the MAC protocol layer. These solution are less desirable because they require changes to well established communication standards and as such, the communications industry is reluctant to adopt such solutions.